home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / watcom / watkey2 / code.c < prev    next >
C/C++ Source or Header  |  1995-04-16  |  1KB  |  64 lines

  1. #include"code.h"
  2. #include"key.h"
  3.  
  4. long numCodeWords=0;
  5. CODE codeWord[MAXCODES];
  6.  
  7. char checkCode(char *codeBuf)
  8.  {
  9.  long i,j,c,ctr;
  10.  for(c=0;c<numCodeWords;c++)
  11.   {
  12.   for(j=0;j<16;j++)
  13.    {
  14.    ctr=j;
  15.    for(i=0;i<codeWord[c].numBytes;i++)
  16.     {
  17.     if(codeWord[c].code[i]!=codeBuf[ctr])break;
  18.     ctr++;if(ctr>=16)ctr=0;
  19.     }
  20.    if(i==codeWord[c].numBytes)
  21.     {
  22.     for(ctr=0;ctr<16;ctr++){codeBuf[ctr]=0;}
  23.     return codeWord[c].returnCode;
  24.     }
  25.    }
  26.   }
  27.  return CODE_NONE;
  28.  }
  29.  
  30. void setCodes(void)
  31.  {
  32.  long i;
  33.  numCodeWords=0;
  34.  
  35.  i=0;
  36.  codeWord[numCodeWords].returnCode=CODE_SCAN;
  37.  codeWord[numCodeWords].code[i++]=KEY_S;
  38.  codeWord[numCodeWords].code[i++]=KEY_C;
  39.  codeWord[numCodeWords].code[i++]=KEY_A;
  40.  codeWord[numCodeWords].code[i++]=KEY_N;
  41.  codeWord[numCodeWords].numBytes=i;
  42.  numCodeWords++;
  43.  
  44.  i=0;
  45.  codeWord[numCodeWords].returnCode=CODE_NAME;
  46.  codeWord[numCodeWords].code[i++]=KEY_N;
  47.  codeWord[numCodeWords].code[i++]=KEY_A;
  48.  codeWord[numCodeWords].code[i++]=KEY_M;
  49.  codeWord[numCodeWords].code[i++]=KEY_E;
  50.  codeWord[numCodeWords].numBytes=i;
  51.  numCodeWords++;
  52.  
  53.  i=0;
  54.  codeWord[numCodeWords].returnCode=CODE_SPACESINGLE;
  55.  codeWord[numCodeWords].code[i++]=KEY_S;
  56.  codeWord[numCodeWords].code[i++]=KEY_P;
  57.  codeWord[numCodeWords].code[i++]=KEY_A;
  58.  codeWord[numCodeWords].code[i++]=KEY_C;
  59.  codeWord[numCodeWords].code[i++]=KEY_E;
  60.  codeWord[numCodeWords].numBytes=i;
  61.  numCodeWords++;
  62.  
  63.  }
  64.